Using AOP to Ease Evolution
نویسندگان
چکیده
This paper describes our experience in using Aspect Oriented Programming to greatly ease maintenance and evolution tasks in industrial software evolution. We have discovered that AOP can be effectively used to add unpluggable features to an existing code base. AOP has allowed us to place code related to certain features into separate modules, which eases evolution when requirements change. Furthermore, AOP allows us to compose these features with the base system in a flexible manner. We relate our positive experience using AOP in production code, describing its use in implementing our project, and detailing the advantages and disadvantages of its use. We abstract our experiences, and report a constrained version of a known AOP design pattern for use in constructing arbitrary, highly composable, independent features.
منابع مشابه
An Aspect-based Multi-Agent System
We present how we used Aspect-Oriented Programming (AOP) to ease the development of Multi-Agent Systems (MAS). Our study focuses on the Aalaadin MAS model. We make use of AOP at both the conceptual level of Aalaadin and the implementation level. On the conceptual level, we introduced in Aalaadin AOP concepts. It results in unifying the group concept of Aalaadin with the aspect concept. This uni...
متن کاملProgram Slicing Tool for Effective Software Evolution Using Aspect-Oriented Technique
One of the issues in software evolution is debugging. Debugging large and complex software systems evolved requires a lot of effort since it is very difficult to localize and identify faults. Therefore, reducing the effort of debugging process is an important step towards efficient software evolution. Program slicing, especially dynamic slicing, has been proposed to efficiently localize faults ...
متن کاملA systematic review of comparative evidence of aspect-oriented programming
Context: Aspect-oriented programming (AOP) promises to improve many facets of software quality by providing better modularization and separation of concerns, which may have system wide affect. There have been numerous claims in favor and against AOP compared with traditional programming languages such as Objective Oriented and Structured Programming Languages. However, there has been no attempt...
متن کاملAn AOP Implementation Framework for Extending Join Point Models
Mechanisms in AOP (aspect-oriented programming) can be characterized by a JPM (join point model). AOP is effective in unanticipated software evolution because crosscutting concerns can be added or removed without making invasive modifications on original programs. However, the effectiveness would be restricted if new crosscutting concerns cannot be described with existing JPMs. Mechanisms for e...
متن کاملUV/ H2O2 Advanced Oxidation Process for Simultaneous Removal of NO and SO2: A Review
This study presents a review on advanced oxidation processes (AOP) for simultaneous removal of NO and SO2. AOP is based on using a strong oxidant such as ozone and H2O2 which is able to generate highly reactive intermediates. The pollutant will be oxidized and removed by these intermediates. In recent years, AOP has been considered as an effective and attractive technology in the field of flue ...
متن کامل